package cn.gd.mapper.PendingTasks;

import cn.gd.logging.RecordLog;
import cn.gd.pojo.*;
import lombok.Data;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface PendingTasksMapper {
    @RecordLog(desc = "查询待处理任务")
    List<LeaveAppLiCations> queryPendingTasks(@Param("dateRange") String... dateRange);

    @RecordLog(desc = "通过 ID 查询待处理任务")
    LeaveAppLiCations queryPendingTasksById1(@Param("leaveID") Integer leaveID);
    @RecordLog(desc = "通过 ID 更新待处理任务")
    Integer updatePendingTasksById(@Param("id") Integer id,
                                   @Param("approvalInfo") Approvalinfo approvalinfo);

    @RecordLog(desc = "获取用户全部的领导")
    List<Department> getUsersLeadershipAll(@Param("userID") Integer userID);

    @RecordLog(desc = "查询全部的出差申请")
    List<Travelapplications> queryTravelApplicationsAll(@Param("dateRange") String... dateRange);
    @RecordLog(desc = "通过 ID 查询出差申请")
    Travelapplications queryTravelApplicationsById(@Param("id") Integer id);
    @RecordLog(desc = "通过 ID 审批出差申请")
    Integer updateTravelApplicationsById(@Param("id") Integer id,
                                         @Param("approvalInfo") Approvalinfo approvalinfo);
    @RecordLog(desc = "查询全部的用车申请")
    List<Vehicleusage> queryVehicleUsage(@Param("dateRange") String... dateRange);
    @RecordLog(desc = "通过 ID 查询用车申请")
    Vehicleusage queryVehicleUsageById(@Param("id") Integer id);
    @RecordLog(desc = "通过 ID 审批用车申请")
    Integer updateVehicleUsageById(@Param("id") Integer id,
                                   @Param("approvalInfo") Approvalinfo approvalinfo);

    @RecordLog(desc = "查询全部的用章申请")
    List<Sealusage> querySealUsage(@Param("dateRange") String... dateRange);
    @RecordLog(desc = "通过 ID 查询用章申请")
    Sealusage querySealUsageById(@Param("id") Integer id);
    @RecordLog(desc = "通过 ID 审批用章申请")
    Integer updateSealUasgeById(@Param("id") Integer id,
                                @Param("approvalInfo") Approvalinfo approvalinfo);

    @RecordLog(desc = "查询全部的图书借阅申请")
    List<Bookborrowing> queryBookborrowing(@Param("dateRange") String... dateRange);
    @RecordLog(desc = "通过 ID 查询图书借阅申请")
    Bookborrowing queryBookborrowingById(@Param("id") Integer id);
    @RecordLog(desc = "通过 ID 审批图书借阅申请")
    Integer updateBookborrowingById(@Param("id") Integer id,
                                    @Param("approvalInfo") Approvalinfo approvalinfo);

    @RecordLog(desc = "查询全部的名片印制申请")
    List<Businesscardprinting> queryBusinesscardprinting(@Param("dateRange") String... dateRange);
    @RecordLog(desc = "通过 ID 查询名片印制申请")
    Businesscardprinting queryBusinesscardprintingById(@Param("id") Integer id);
    @RecordLog(desc = "通过 ID 审批名片印制申请")
    Integer updateBusinesscardprintingById(@Param("id") Integer id,
                                           @Param("approvalInfo") Approvalinfo approvalinfo);

    @RecordLog(desc = "查询全部的收入证明申请")
    List<Incomeproofapplications> queryIncomeProofApplications(@Param("dateRange") String... dateRange);
    @RecordLog(desc = "通过 ID 查询收入证明申请")
    Incomeproofapplications queryIncomeProofApplicationsById(@Param("id") Integer id);
    @RecordLog(desc = "通过 ID 审批收入证明请")
    Integer updateIncomeproofApplicationsById(@Param("id") Integer id,
                                              @Param("approvalInfo") Approvalinfo approvalinfo);
}
